home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesU-Z.lzh / Zaxxon.lha / ZaxxonWHD / Install next >
Text File  |  2002-08-05  |  10KB  |  327 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Manual")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "Zaxxon.highs")        ;name of high scores file
  9. (set #prefix @app-name)            ;name of slave, directory
  10.  
  11. (set #ico_suffix_00 "inf")        ;Icon suffixes (not all of these must exist)
  12. (set #ico_suffix_01 "magicwb")
  13. (set #ico_suffix_02 "romicon")
  14. (set #ico_suffix_03 "newicon")
  15. (set #ico_suffix_04 "newexot")
  16. (set #ico_suffix_05 "coloricon")
  17. (set #ico_suffix_06 "colexot")
  18. (set #ico_suffix_07 "colfrank")
  19. (set #ico_suffix_08 "colchris")
  20. (set #ico_suffix_09 "colcode")
  21. (set #ico_suffix_10 "colcfou")
  22. (set #ico_suffix_11 "colakira")
  23.  
  24. ;Icon descriptions (max 21 chars if you have > 9 entries, or 27 chars otherwise.
  25. ;These are renamed to "gamename.info" so no illegal characters like :/* etc
  26. ;          "123456789012345678901234567"
  27. (set #ico_desc_00 "Normal")
  28. (set #ico_desc_01 "MagicWB Icon")
  29. (set #ico_desc_02 "RomIcon")
  30. (set #ico_desc_03 "NewIcon")
  31. (set #ico_desc_04 "NewIcon by Exotica")
  32. (set #ico_desc_05 "OS3.5 Icon")
  33. (set #ico_desc_06 "OS3.5 Icon by Exotica")
  34. (set #ico_desc_07 "OS3.5 Icon by Frank")
  35. (set #ico_desc_08 "OS3.5 Icon by Chris Vella")
  36. (set #ico_desc_09 "OS3.5 Icon by Codetapper")
  37. (set #ico_desc_10 "OS3.5 Icon by CFou")
  38. (set #ico_desc_11 "OS3.5 Icon by Akira")
  39.  
  40. (procedure P_Install
  41.  
  42.   (set #destfile
  43.     (askfile
  44.       (prompt "Where is file Zaxxon512k")
  45.       (help @askfile-help)
  46.       (default @default-dest)
  47.     )
  48.   )
  49.  
  50.   (copyfiles
  51.     (help @copyfiles-help)
  52.     (source ("%s" #destfile))
  53.     (dest #dest)
  54.     (pattern "~(s)")
  55.   )
  56. )
  57.  
  58. ;****************************
  59. ;----------------------------
  60. ; checks if given program is installed, if not abort install
  61. ; #program - to check
  62.  
  63. (procedure P_ChkRun
  64.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  65.     ("")
  66.     (abort
  67.       (cat
  68.     "You must install \"" #program "\" first!\n"
  69.     "It must be accessible via the path.\n"
  70.     "You can find it in the WHDLoad package."
  71.       )
  72.     )
  73.   )
  74. )
  75.  
  76. ;----------------------------
  77. ; Wait for inserting disk
  78. ; IN:  #AD_disk - name of disk
  79. ; OUT: -
  80.  
  81. (procedure P_disk
  82.   (askdisk
  83.     (dest #AD_disk)
  84.     (prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
  85.     (help @askdisk-help)
  86.   )
  87. )
  88.  
  89. ;----------------------------
  90. ; copy file including icon if exist
  91. ; #copy-file - name of file to copy
  92.  
  93. (procedure P_CopyFile
  94.   (if (exists #copy-file) (
  95.     (copyfiles
  96.       (help @copyfiles-help)
  97.       (source #copy-file)
  98.       (dest #dest)
  99.     )
  100.     (if (exists ("%s.info" #copy-file)) (
  101.       (copyfiles
  102.         (help @copyfiles-help)
  103.         (source ("%s.info" #copy-file))
  104.         (dest #dest)
  105.       )
  106.       (tooltype
  107.         (dest (tackon #dest #copy-file))
  108.         (noposition)
  109.       )
  110.     ))
  111.   ))
  112. )
  113.  
  114. ;****************************
  115.  
  116. (if (< @installer-version (+ (* 44 65536) 10))
  117.   (
  118.     (message
  119.       (cat
  120.         "Warning: your installer is outdated.\n"
  121.         "Some features of this installation won't be available, "
  122.         "such as icon show and drawer opening. "
  123.         "You have version " (/ @installer-version 65536) "."
  124.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  125.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  126.         "You may also use the InstallerNG by Jens Tröger."
  127.         "\n\n"
  128.         "The installers can be obtained from the net:\n"
  129.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  130.         "aminet:util/sys/InstallerNG.lha"
  131.       )
  132.     )
  133.     (set #newstuff 0)
  134.   )
  135.   (set #newstuff 1)
  136. )
  137.  
  138. (if (exists #readme-file)
  139.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  140.     ("")
  141.     (run ("SYS:Utilities/More %s" #readme-file))
  142.   )
  143. )
  144.  
  145. (set #program "WHDLoad")
  146. (P_ChkRun)
  147.  
  148. (if (getenv "WHDLInstPath")
  149.   (set @default-dest (getenv "WHDLInstPath"))
  150. )
  151. (set #dest
  152.   (askdir
  153.     (prompt
  154.       (cat
  155.     "Where should \"" @app-name "\" be installed?\n"
  156.     "A drawer \"" #prefix "\" will be automatically created."
  157.       )
  158.     )
  159.     (help @askdir-help)
  160.     (default @default-dest)
  161.   )
  162. )
  163. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  164. (set #dest (tackon #dest #prefix))
  165. (if (exists #dest) (
  166.   (set #choice
  167.     (askbool
  168.       (prompt
  169.         (cat
  170.           "\nDirectory \"" #dest "\" already exists.\n"
  171.           "Should it be deleted?"
  172.         )
  173.       )
  174.       (default 1)
  175.       (choices "Delete" "Skip")
  176.       (help @askbool-help)
  177.     )
  178.   )
  179.   (if (= #choice 1)
  180.     (delete #dest
  181.       (help @delete-help)
  182.       (all)
  183.     )
  184.   )
  185. ))
  186. (makedir #dest
  187.   (help @makedir-help)
  188.   (infos)
  189. )
  190.  
  191. ;----------------------------
  192.  
  193. (copyfiles
  194.   (help @copyfiles-help)
  195.   (source ("%s.Slave" #prefix))
  196.   (dest #dest)
  197. )
  198. (set #icon 0)
  199. (if (exists ("%s.%s" #prefix #ico_suffix_11)) ((set #icon 11)(set #icnt (+ 1 #icnt))(set #icon_11 #ico_desc_11)) (set #icon_11 ""))
  200. (if (exists ("%s.%s" #prefix #ico_suffix_10)) ((set #icon 10)(set #icnt (+ 1 #icnt))(set #icon_10 #ico_desc_10)) (set #icon_10 ""))
  201. (if (exists ("%s.%s" #prefix #ico_suffix_09)) ((set #icon 9) (set #icnt (+ 1 #icnt))(set #icon_09 #ico_desc_09)) (set #icon_09 ""))
  202. (if (exists ("%s.%s" #prefix #ico_suffix_08)) ((set #icon 8) (set #icnt (+ 1 #icnt))(set #icon_08 #ico_desc_08)) (set #icon_08 ""))
  203. (if (exists ("%s.%s" #prefix #ico_suffix_07)) ((set #icon 7) (set #icnt (+ 1 #icnt))(set #icon_07 #ico_desc_07)) (set #icon_07 ""))
  204. (if (exists ("%s.%s" #prefix #ico_suffix_06)) ((set #icon 6) (set #icnt (+ 1 #icnt))(set #icon_06 #ico_desc_06)) (set #icon_06 ""))
  205. (if (exists ("%s.%s" #prefix #ico_suffix_05)) ((set #icon 5) (set #icnt (+ 1 #icnt))(set #icon_05 #ico_desc_05)) (set #icon_05 ""))
  206. (if (exists ("%s.%s" #prefix #ico_suffix_04)) ((set #icon 4) (set #icnt (+ 1 #icnt))(set #icon_04 #ico_desc_04)) (set #icon_04 ""))
  207. (if (exists ("%s.%s" #prefix #ico_suffix_03)) ((set #icon 3) (set #icnt (+ 1 #icnt))(set #icon_03 #ico_desc_03)) (set #icon_03 ""))
  208. (if (exists ("%s.%s" #prefix #ico_suffix_02)) ((set #icon 2) (set #icnt (+ 1 #icnt))(set #icon_02 #ico_desc_02)) (set #icon_02 ""))
  209. (if (exists ("%s.%s" #prefix #ico_suffix_01)) ((set #icon 1) (set #icnt (+ 1 #icnt))(set #icon_01 #ico_desc_01)) (set #icon_01 ""))
  210. (if (exists ("%s.%s" #prefix #ico_suffix_00)) ((set #icon 0) (set #icnt (+ 1 #icnt))(set #icon_00 #ico_desc_00)) (set #icon_00 ""))
  211. (procedure P_Icon
  212.   (copyfiles
  213.     (help @copyfiles-help)
  214.     (source ("%s.%s" #prefix #icon-suf))
  215.     (newname ("%s.info" #icon-name))
  216.     (dest #icon-dir)
  217.   )
  218.   (tooltype
  219.     (dest (tackon #icon-dir #icon-name))
  220.     (noposition)
  221.   )
  222. )
  223. (if (> #icnt 1) (
  224.   (if (= #newstuff 1) (
  225.     (set #icon-dir ("T:%s Icons" #prefix))
  226.     (makedir #icon-dir
  227.       (help @makedir-help)
  228.     )
  229.     (if #icon_00 ((set #icon-suf #ico_suffix_00) (set #icon-name #ico_desc_00) (P_Icon)))
  230.     (if #icon_01 ((set #icon-suf #ico_suffix_01) (set #icon-name #ico_desc_01) (P_Icon)))
  231.     (if #icon_02 ((set #icon-suf #ico_suffix_02) (set #icon-name #ico_desc_02) (P_Icon)))
  232.     (if #icon_03 ((set #icon-suf #ico_suffix_03) (set #icon-name #ico_desc_03) (P_Icon)))
  233.     (if #icon_04 ((set #icon-suf #ico_suffix_04) (set #icon-name #ico_desc_04) (P_Icon)))
  234.     (if #icon_05 ((set #icon-suf #ico_suffix_05) (set #icon-name #ico_desc_05) (P_Icon)))
  235.     (if #icon_06 ((set #icon-suf #ico_suffix_06) (set #icon-name #ico_desc_06) (P_Icon)))
  236.     (if #icon_07 ((set #icon-suf #ico_suffix_07) (set #icon-name #ico_desc_07) (P_Icon)))
  237.     (if #icon_08 ((set #icon-suf #ico_suffix_08) (set #icon-name #ico_desc_08) (P_Icon)))
  238.     (if #icon_09 ((set #icon-suf #ico_suffix_09) (set #icon-name #ico_desc_09) (P_Icon)))
  239.     (if #icon_10 ((set #icon-suf #ico_suffix_10) (set #icon-name #ico_desc_10) (P_Icon)))
  240.     (if #icon_11 ((set #icon-suf #ico_suffix_11) (set #icon-name #ico_desc_11) (P_Icon)))
  241.     (openwbobject #icon-dir)
  242.   ))
  243.   (set #icon
  244.     (askchoice
  245.       (prompt "\nWhich icon would you like to install?\n")
  246.       (choices #icon_00 #icon_01 #icon_02 #icon_03 #icon_04 #icon_05 #icon_06 #icon_07 #icon_08 #icon_09 #icon_10 #icon_11)
  247.       (default #icon)
  248.       (help @askchoice-help)
  249.     )
  250.   )
  251.   (if (= #newstuff 1) (
  252.     (closewbobject #icon-dir)
  253.     (delete #icon-dir
  254.       (help @delete-help)
  255.       (all)
  256.     )
  257.   ))
  258. ))
  259. (select #icon
  260.   (set #icon #ico_suffix_00)
  261.   (set #icon #ico_suffix_01)
  262.   (set #icon #ico_suffix_02)
  263.   (set #icon #ico_suffix_03)
  264.   (set #icon #ico_suffix_04)
  265.   (set #icon #ico_suffix_05)
  266.   (set #icon #ico_suffix_06)
  267.   (set #icon #ico_suffix_07)
  268.   (set #icon #ico_suffix_08)
  269.   (set #icon #ico_suffix_09)
  270.   (set #icon #ico_suffix_10)
  271.   (set #icon #ico_suffix_11)
  272. )
  273. (copyfiles
  274.   (help @copyfiles-help)
  275.   (source ("%s.%s" #prefix #icon))
  276.   (newname ("%s.info" #prefix))
  277.   (dest #dest)
  278. )
  279. (if (= #icon "newicon")
  280.   ("")
  281.   (
  282.     (tooltype
  283.       (dest (tackon #dest #prefix))
  284.       (settooltype "Slave")
  285.       (settooltype "PreLoad")
  286.     )
  287.     (tooltype
  288.       (dest (tackon #dest #prefix))
  289.       (settooltype "PreLoad" "")
  290.       (settooltype "Slave" ("%s.Slave" #prefix))
  291.     )
  292.   )
  293. )
  294. (tooltype
  295.   (dest (tackon #dest #prefix))
  296.   (setdefaulttool "WHDLoad")
  297.   (setstack 10240)
  298.   (noposition)
  299. )
  300. (set #copy-file #readme-file)
  301. (P_CopyFile)
  302. (set #copy-file #man-file)
  303. (P_CopyFile)
  304. (set #copy-file #hint-file)
  305. (P_CopyFile)
  306. (set #copy-file #sol-file)
  307. (P_CopyFile)
  308. (set #dest-org #dest)
  309. (if (= #sub-dir "")
  310.   ("")
  311.   (
  312.     (set #dest (tackon #dest #sub-dir))
  313.     (makedir #dest
  314.       (help @makedir-help)
  315.     )
  316.   )
  317. )
  318. (set #copy-file #highs-file)
  319. (P_CopyFile)
  320. (set #copy-file "OSEmu.400")
  321. (P_CopyFile)
  322. (P_Install)
  323. (if (= #newstuff 1)
  324.   (openwbobject #dest-org)
  325. )
  326. (exit)
  327.